基于智能演化算法,Ta在重新定义知识社交
新的一天,你从床上醒来,拿起身边的手机,点开抖音,兴致勃勃地开始观看一位大厨的做菜教学。
可你是否想过,抖音上亿条的视频中,为什么你会独独看到这一视频?是谁在操控内容与人的连接?
如果你长期关注移动互联网,肯定会对「内容分发」这个词并不陌生。互联网的出现极大地改变了信息的生产和交换方式,海量数据使得分析和预测用户行为成为可能。今天,个性化的内容推送和精准定向不仅仅是停留在学院内的计算机实验,同时也占领了每一个互联网用户的手机和电脑屏幕。通过这一技术,云端的算法将内容分发给用户,促使内容更高效的被消费。
「协同过滤」框架
几乎所有的推荐算法都遵从「协同过滤」框架:
协同,指的是找出相似用户或相关内容(也可以是广告、商品等)。
过滤,指的是通过分析相似用户的行为模式或者相关内容的关联关系,对目标用户进行推送或推荐。
因此对于算法而言,如何定义和发现「相似用户」及「相关内容」,是需要解决的核心问题。
早期的协同过滤算法,主要采取的是向量空间模型。假设系统中有 N 个内容,那么用户可以被描述为一个实数空间中的 N 维向量,其中每一维的数值表示用户对内容的兴趣。这个数值可以通过浏览时长、是否点击、是否收藏、是否放入过购物车等因素进行计算。
向量空间模型的优点是向量相似度即用户相似度,所以可以使用 Pearson 相关系数、向量夹角等成熟算法来计算用户相似度。它最初的应用场景是电子商务网站的相关商品推荐。
然而,这种方法并不能跟上平台的发展速度。在 20 世纪末,一般的电子商务网站只有几万种商品。到了今天,亚马逊拥有超过 3 亿用户、6亿多种商品。想要计算 3 亿个 6 亿维向量的相似度,这种开销是不可想象的。
此外,向量空间维度的增加还会引发「过学习」现象,影响算法的推荐精度。这是因为人类的行为模式总是带有一定程度的随机性,而这种随机性在高维空间的稀疏向量计算中会被放大为噪音。因此,如何对向量空间进行降维逐渐变成了协同算法的核心。
实践证明,数学降维(如特征值抽取等)的效果比不上人肉降维。而人肉降维,就是建立知识库和打标签。这也是目前大部分主流广告平台所采用的技术。它们都会维护一个非常巨大的知识库,节点是各种标签和关键词,边是标签和关键词之间的从属关联关系。这些知识库的结构类似搜索引擎诞生前门户网站的网页分类结构,只是节点更多,关系更复杂。
知识库建立的第一步,是创造标签。算法科学家和工程师们设计和实现了很多种复杂的学习模型,能够把互联网中的每一个网页都映射到知识库中的一个或多个标签上。每一次模型的修正和训练都需要动用上千甚至上万个 CPU/GPU。
当标签系统完成后,用户就可以开始通过点赞、评论、收藏等动作与内容互动,进而继承内容上的标签,然后拥有相同或相关标签的新内容就能够推送给用户。这就是个性化信息流的原理。另一方面,当广告客户有投放需求时,销售代表会为他们选取合适的标签和关键词,然后这些广告就会出现在对应的网页和搜索结果中。
「知识库」模型的弊端
知识库是大部分互联网公司所采用的模型,也沿用了很多年。然而近年来,我们也发现它存在不少的问题。
知识库里的每个标签本质上都是向量空间模型里的一个正交维度,然而向量空间模型其实并不是人类思考和描述问题的方式,至少不是大部分人的方式。
人类在描述一个事物时,通常会采用「类比描述」而非「维度描述」。譬如我们描述一个地点时(注意是描述,不是导航),肯定不会说在北纬 X° 东经 Y°,少部分活地图可能会说在 X 路 Y 号,或者说在 X 路和 Y 路的交界处,而大部分人则会参考一个大家都知道的地标,说在 XX 大厦/商场/地铁站附近。
类比描述比维度描述更加直观也更容易被理解,譬如微软在发布 Xbox One X时,在给出 6T FLOPS 等维度描述的同时,也指出 Xbox One X 的性能比当时最强大的游戏主机都要高 30%。和冰冷的维度描述相比,类比描述显然更加生动和具象化。
那么,类比描述与维度描述的关系,又是如何影响我们看到的东西呢?
我们在使用个性化信息流时,经常会觉得算法并不聪明:譬如点开一篇某小鲜肉被封杀的新闻后,紧接着就是源源不断的娱乐八卦推送。这是因为基于标签的算法对内容和人的描述是「低分辨率」的。现实世界的事物不仅仅是维度的组合,不仅仅是不同维度乘以不同权重的组合,更是不同维度乘以不同权重的非线性组合,现有的计算机能力还无法抽象和计算这么复杂的组合。
知识库的另一个瓶颈是时效性。如何让计算机发现新知识点,一直是人工智能领域悬而未决的难题。本质上,该问题等同于如何让计算机发现未知的数学定理和物理定律。几十年前,人们曾经预言计算机在不久的将来就能够独立发现和证明新的数学定理,但是今天,大部分科学家都认可了人类思维的不可替代性。
由于知识库主要依靠人肉更新和维护,所以其深度存在相当的局限性,毕竟领域专家不太可能去给内容打标签。目前所有的个性化信息流产品都无法推荐深度内容,这一方面是因为深度内容本身就很稀缺,另一方面更是因为现有的知识库和标签体系完全无法识别深度内容。深度内容的标签和普通内容完全相同,而深度内容的点击量和收藏量肯定远远少于普通内容,所以深度内容「过滤」这一步会被淘汰,不能够被推送到目标用户(当然现有体系也无法识别对深度内容感兴趣的用户),这会进一步影响深度内容创作者的积极性。
今天,人们对个性化信息流产品的认知已经在往「低俗」、「时间粉碎机」、「精神鸦片」等方向偏转,不得不说这是一件十分悲哀的事情。
「Ta在」的解决方法
如果能够跳出向量空间模型框架,使用人类的思维方式去定义相似用户和相关内容,那么上述的三个问题都可以得到某种程度的解决。
「Ta在」的核心算法认为,相似用户和相关内容的定义在本质上是同一个问题:对相关内容感兴趣的用户即为相似用户。当某篇内容获取一定的热度后,这篇内容就可以被认为是一个参考点(类似一个「地标」),所有评论、关注、收藏过这篇内容的用户就形成了一个「圈子」,能够被这个圈子里多数用户认可的内容就是参考点的相关内容。随着内容的不断加入和退出,圈子里的用户也随之加入和退出,最终沉淀下来的就是相似用户。
「Ta在」并不纠结「相似相关」的数学和逻辑语义,这种做法和 Page Rank 算法有异曲同工之妙。
在 Page Rank 诞生之前,人们希望通过分析和理解网页的内容去判断其重要性,而 Page Rank 完全不关心网页的具体内容。算法赋予每个网页相同的初始权重,权重通过网页间的链接进行流动,收敛后的最终结果即为每个网页的重要程度。
相似的,「Ta在」赋予每个用户每篇内容相同的「相似相关权重」,权重通过用户和内容间的互动在用户和用户之间、内容和内容之间、用户和内容之间进行流动,算法科学家已经证明其最终结果同样是收敛的。
算法在时效性方面具有天然优势,这是因为算法无需对新知识进行语义理解,只需认可其参考价值即能正确运行。这正是人类的思维行动模式,人们更习惯于边做边想和随机应变,总结和抽象往往是在最后才发生的事情。
这样的算法在识别深度知识方面同样具有优势,新的深度圈子可以从普通圈子中生长和分裂出来,这需要算法更为细致的分析、识别和挖掘用户的行为模式。在实验中,我们惊奇的发现对于同样一组图片,有些圈子参考图片的颜色,有些圈子参考图片的颜值,更有些圈子的参考标准超越了我们的理解。
「Ta在」算法的应用场景是令人激动的:个性化信息流、相关内容推荐、全新结构的知识库和深度社交,这些可能性都需要我们的共同努力去发掘和实现。